package com.maimang.platform.common.entity;

import com.maimang.platform.base.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;

/**
 * 部门表 sys_dept
 *
 * @author Rocky
 */
public class SysDept extends BaseEntity {
	private static final long serialVersionUID = 1L;
	/**
	 * 部门ID
	 */
	private Long deptId;

	/**
	 * 父部门ID
	 */
	private Long parentId;
	/**
	 * 祖级列表
	 */
	private String ancestors;
	/**
	 * 部门名称
	 */
	private String deptName;
	/**
	 * 显示顺序
	 */
	private String orderNum;
	/**
	 * 负责人(主管)用户编号
	 */
	private String leaderUserid;
	/**
	 * 负责人(主管)姓名
	 */
	private String leader;
	/**
	 * 联系电话
	 */
	private String phone;
	/**
	 * 部门的主管列表
	 */
	private String deptManagerUseridList;
	/**
	 * 邮箱
	 */
	private String email;
	/**
	 * 部门状态:0正常,1停用
	 */
	private String status;
	/**
	 * 删除标志（0代表存在 2代表删除）
	 */
	private String delFlag;
	/**
	 * 用户是否存在此部门标识 默认不存在
	 */
	private boolean flag = false;
	/**
	 * 父部门名称
	 */
	private String parentName;

	/**
	 * 子部门列表
	 */
	private List<SysDept> children;

	public List<SysDept> getChildren() {
		return children;
	}

	public void setChildren(List<SysDept> children) {
		this.children = children;
	}

	public String getLeaderUserid() {
		return leaderUserid;
	}

	public void setLeaderUserid(String leaderUserid) {
		this.leaderUserid = leaderUserid;
	}

	public String getDeptManagerUseridList() {
		return deptManagerUseridList;
	}

	public void setDeptManagerUseridList(String deptManagerUseridList) {
		this.deptManagerUseridList = deptManagerUseridList;
	}

	public boolean isFlag() {
		return flag;
	}

	public void setFlag(boolean flag) {
		this.flag = flag;
	}

	public Long getDeptId() {
		return deptId;
	}

	public void setDeptId(Long deptId) {
		this.deptId = deptId;
	}

	public Long getParentId() {
		return parentId;
	}

	public void setParentId(Long parentId) {
		this.parentId = parentId;
	}

	public String getAncestors() {
		return ancestors;
	}

	public void setAncestors(String ancestors) {
		this.ancestors = ancestors;
	}

	public String getDeptName() {
		return deptName;
	}

	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}

	public String getOrderNum() {
		return orderNum;
	}

	public void setOrderNum(String orderNum) {
		this.orderNum = orderNum;
	}

	public String getLeader() {
		return leader;
	}

	public void setLeader(String leader) {
		this.leader = leader;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(String delFlag) {
		this.delFlag = delFlag;
	}

	public String getParentName() {
		return parentName;
	}

	public void setParentName(String parentName) {
		this.parentName = parentName;
	}

	@Override
	public String toString() {
		return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
				.append("deptId", getDeptId())
				.append("parentId", getParentId())
				.append("ancestors", getAncestors())
				.append("deptName", getDeptName())
				.append("orderNum", getOrderNum())
				.append("leader", getLeader())
				.append("phone", getPhone())
				.append("email", getEmail())
				.append("status", getStatus())
				.append("deptManagerUseridList", getDeptManagerUseridList())
				.append("delFlag", getDelFlag())
				.append("createUser", getCreateUser())
				.append("createTime", getCreateTime())
				.append("updateUser", getUpdateUser())
				.append("updateTime", getUpdateTime())
				.toString();
	}
}
